# 封装
class User(object):
    def __init__(self,name,age):
        self._name = name # 受保护的变量
        self.__age = age # 私有变量

    def show_infos(self):
        print("大家好，我是%s，我今年%d" % (self._name, self.__age))

    @property  # 获取私有变量
    def age(self):
        print("获取私有变量的方法执行了")
        return self.__age

    @age.setter # 修改私有变量
    def age(self,age):
        print("修改私有变量的方法执行了")
        if isinstance(age,int):
         self.__age = age
        else:
            raise Exception("年龄只能是整数")

    # 私有方法
    def __show_infos2(self):
        print("大家好，我是%s，我今年%d" % (self._name, self.__age))




user = User("jay",20)

# print(user._name)
# user.show_infos()
#
# user.set_age(18)
# print(user.get_age())

user.age = 17
print(user.age)







